A number of systems and programs are offered on the market for the design, the engineering and the manufacturing of objects. CAD is an acronym for Computer-Aided Design, e.g. it relates to software solutions for designing an object. CAE is an acronym for Computer-Aided Engineering, e.g. it relates to software solutions for simulating the physical behavior of a future product. CAM is an acronym for Computer-Aided Manufacturing, e.g. it relates to software solutions for defining manufacturing processes and operations. In such systems, the graphical user interface (GUI) plays an important role as regards the efficiency of the technique. These techniques may be embedded within Product Lifecycle Management (PLM) systems. PLM refers to a business strategy that helps companies to share product data, apply common processes, and leverage corporate knowledge for the development of products from conception to the end of their life, across the concept of extended enterprise.
The PLM solutions provided by Dassault Systemes (under the trademarks CATIA, ENOVIA and DELMIA) provide an Engineering Hub, which organizes product engineering knowledge, a Manufacturing Hub, which manages manufacturing engineering knowledge, and an Enterprise Hub which enables enterprise integrations and connections into both the Engineering and Manufacturing Hubs. All together the system delivers an open object model linking products, processes, resources to enable dynamic, knowledge-based product creation and decision support that drives optimized product definition, manufacturing preparation, production and service.
Many CAD systems now allow the user to design a 3D modeled object, based on a boundary representation (B-Rep) of the modeled object provided to the user. The B-Rep is a data format comprising a set of faces each defined as a bounded portion of a respective supporting surface. The user can act on the set of faces, by modifying existing faces, creating new faces, deleting some faces, and/or defining constraints on faces and/or between faces, or any actions of the like provided by the CAD system at use. In such a case, for efficiency purposes, the history of the solid is generally not available to the user.
One of the aspects of such 3D design under development is known as “pattern recognition”. The term “pattern” refers to regular layouts of copies of the same geometric feature. Recognizing patterns allows the handling of such patterns as a single element during the design, thereby widening the array of design possibilities. For example, instead of modifying the elements of a pattern one by one, thanks to a prior recognition of the pattern, the user may perform modifications of the pattern globally e.g. with single actions. Pattern recognition is relevant in different domains of CAD, such as mechanical design, consumer goods, building architecture, aerospace, or other domains.
Pattern recognition may be related to feature recognition. Feature recognition is useful to recognize characteristic shapes on a given 3D object (typically a solid representing a mechanical part). Characteristic shapes of interest for mechanical design include for example holes, extruded pads, extruded pockets, fillets or rounds, revolute pads, and/or revolute pockets. Recognizing a characteristic shape amounts to identify its specifications through a better semantic level, for example the profile of an extruded or revolute shape, the revolution axis of a revolute shape, the radius value of rounds and fillets, an extrusion direction, and/or an extrusion depth. This information is used either to modify the shape, for example by editing the profile of the extrusion, or to feed a downstream process, machining process for example.
Feature recognition capabilities are available in commercial CAD systems through the following procedure. The user may select the type of feature to recognize. Then, optionally, the user selects one or more faces of the feature on the solid in order to initialize the searching. The system performs the recognition and yields the specifications of the recognized feature.
When the intent is to locally change the shape of the input solid, “direct editing” capability is also available. This technology, also named “history free modeling”, is promoted by CAD editors as an alternative to history design. The goal is to easily change the shape of a solid by using only its B-Rep. In order to make the editing simple from the user point of view, the “direct editing” technology has to recognize the local shape of the solid. For example, the system has to maintain the cylindrical shape of a hole (and not change the cylinder into a free form surface), maintain the vertical direction of the pocket's walls, and/or maintain the revolute or extruded nature of a shape. Consequently, feature recognition is unavoidable, even in the “direct editing” field.
Traditional feature recognition deals with one feature at a time. It does not identify multiple copies of a given feature and it does not identify the layout of these copies. As for pattern recognition, the subject is still under development, but existing solutions seem to require many user-interventions.
Thus, the existing solutions lack efficiency, notably from a user utilization point of view and from an exhaustiveness point of view. Within this context, there is still a need for an improved solution for designing a 3D modeled object.